User data profile namespace

ABSTRACT

A method and data structure for separating application data from user data in a namespace. The data structure provides an intuitive profile layout for developers or users while supporting legacy applications. The namespace utilizes a hierarchical structure allowing access by developers or users over a network to information contained in identified public folders and/or a user&#39;s profile.

FIELD OF THE INVENTION

Aspects of the present invention relate generally to management of userprofiles stored on computing devices. More specifically, aspects of thepresent invention provide a data structure defining an intuitive anduseful namespace profile for separating application data from user datastored on computing devices.

BACKGROUND OF THE INVENTION

A Shell namespace organizes a file system and other objects managed bythe Shell into a tree-structured hierarchy. A namespace may include twobasic types of objects: folders and files. Folders may be considerednodes of a tree-structure hierarchy, whereas, files the leaves of thetree-structured hierarchy. Today, when a user logs onto a computingdevice, a user profile is created wherein the user may store userspecific information and configuration information for future use andkeep it separated form other users logging onto the machine. Theconfiguration information may include particular tool bar settings,screen resolution settings, and/or favorites.

In existing operation systems, such as Windows® brand XP OperatingSystem, user profiles contain various known folders such as the MyDocuments folder or My Pictures folder. These known folders may provideaccess across multiple applications and computer network environments inorder for developers and users to access information.

One drawback of current namespace configurations involves pollution ofthe namespace with a mixture of both application data and user data.Layouts of current namespaces do not provide for a clear separationbetween user data space and application data space. For example, FIG. 2illustrates a prior art Shell namespace configuration 200 for anoperating system such as Microsoft® Windows® XP. Referring to FIG. 2, anumber of folders may be displayed wherein each folder belongs to one offour categories which include virtual folders, fixed file-systemfolders, common folders, and per-user folders.

Virtual folders may be virtual shell folders which appear in the shellnamespace and may not have any actual file system folders associatedwith them. For example, a Printer folder may be a virtual folder. Fixedfile folders may be file system folders that are not managed by theShell and whose location is fixed when the system is installed. Forexample, the “Windows” folder 224 and the “Program Files” folder 220 maybe fixed file folders. The common folders may be file system foldersused for sharing data and settings between different users. For example,all users of a machine may share a common desktop folder such as desktopfolder 202. Finally, per-user folders may be file system folders whichare located under an individual's profile and owned by the individualuser. For example, a My Pictures folder may illustrate a per-user folderfor storing a user's pictures.

Referring to FIG. 2, the ultimate root of the namespace hierarchy 200may be Desktop 202. Under the root Desktop 202, numerous other foldersmay be located such as My Computer folder 206, My Network Places folder208, and Recycle Bin 210. The My Computer folder 206 may include variousfolders or mapped drives such as Local Disc (C:) 212, DVD-RW Drive (D:)214 and Control Panel 216. Those skilled in the art will realize thatnumerous additional mapped drives and/or folders may be installed andlisted in namespace hierarchy 200.

Local Disc (C:) 212 may include various additional folders and filessuch as Documents and Settings folder 218, Program Files folder 220,Uninstall folder 222, and WINDOWS folder 224. The Program Files folder220 may contain various application programs that a developer or usermay have installed on the particular computing device. The Uninstallfolder 222 may provide utilities to assist a user in removing filesand/or applications from the computing device. The WINDOWS folder 224may contain various folder and files for use with a Windows® brandOperating System.

FIG. 2 a illustrates a user profile namespace configuration for anoperating system such as Microsoft® Windows® XP. Referring to FIG. 2 a,an exemplary user profile namespace hierarchy 300 is illustrated. ADocuments and Settings Folder 218 may include a number of folders andfiles such as an All Users folder 226 and multiple user's folders 228.For example, a user such as user George Kiessling may have a user folderidentified by the user's name using a format such as “GKiessling.” Asthose skilled in the art will realize, each user may have their own userfolder 228 to store particular information for an identified user. Forinstance, a user folder 228 may contain additional subfolders such asthe My Documents folder 230, Desktop folder 280, Start Menu folder 282,Favorites folder 284, and other folders as illustrated in FIG. 2 a.

The My Documents folder 230 may be utilized as a default location forall documents created by a user. The My Documents folder 230 maycomprise subfolders such as My Music folder 232, My Pictures folder 234,and My Videos folder 236. The My Music folder 232, My Pictures folder234, and My Videos folder 236 may represent default locations wherein auser may store their music, pictures, and video data files.

A drawback of current namespace hierarchies is that current namespaceshierarchies contain a mixture of both application program data and userdata at the root of the namespace hierarchy. In current namespacehierarchies, there is no clean separation between application data anduser data. The mixture of both application program data and user data isconfusing for users and developers. For example, FIG. 2 a illustratesthe My Music folder 232, My Pictures folder 234, and the My Videosfolder 236 under the My Documents Folder 230 even though thesesubfolders have little relevance to documents. In addition, a pollutednamespace may lead to improper backup of files as users may be confusedas to which files routinely should be saved.

Moreover, existing namespace hierarchies give little guidance todevelopers or application writers as to how applications should storeper-user application data inside a user's profile. Further, there islittle documentation as to how application developers should structuretheir folders within an application folder. As a result, applicationdevelopers create new folders at the root of the namespace hierarchyfurther congesting the namespace.

Thus, it would be advancement in the art to provide a method and datastructure which separates application data from user data in anamespace. The data structure would provide an intuitive profile layoutfor developers or users while supporting legacy applications.Furthermore, the method and data structure should enable a user todiscover and utilize other public or users folders created by variousapplications which may be located on the same computing system or on anetwork with a minimal amount of effort.

BRIEF SUMMARY OF THE INVENTION

The inventive method and data structure overcome the problems of theprior art by providing for the separation of application data from userdata in a namespace hierarchy. In particular, the data structureprovides an intuitive profile layout for developers or users whilesupporting legacy applications. The namespace allows access by a userover a network to information contained in identified public foldersand/or the user's profile folders.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention and theadvantages thereof may be acquired by referring to the followingdescription in consideration of the accompanying drawings, in which likereference numbers indicate like features, and wherein:

FIG. 1 illustrates an example of a suitable computing system environmenton which the invention may be implemented.

FIG. 2 illustrates an exemplary prior art Shell namespace hierarchy.

FIG. 2 a illustrates an existing user profile namespace hierarchy.

FIG. 3 illustrates a namespace hierarchy in accordance with an aspect ofthe invention.

FIG. 4 illustrates another namespace hierarchy in accordance with anaspect of the invention.

FIG. 5 illustrates a method of managing application data from user datain a namespace hierarchy in accordance with an aspect of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Exemplary Operating Environment

In order to clarify the disclosure of the invention, definitions ofseveral relevant terms are provided herein.

-   Profile: Provides operating system and applications with a per-user    location to store user specific data and settings.-   RUP: Roaming User Profile; A profile which roams with a user in an    enterprise to provide a similar computing experience on various    computing devices.-   Known Folder: A special category of folders which are known to the    Shell.

FIG. 1 illustrates an example of a suitable computing system environment100 on which the invention may be implemented. Computing systemenvironment 100 is only one example of a suitable computing environmentand is not intended to suggest any limitation as to the scope of use orfunctionality of the invention. Neither should the computing environment100 be interpreted as having any dependency or requirement relating toany one or combination of components illustrated in the exemplaryoperating environment 100.

With reference to FIG. 1, an exemplary system for implementing theinvention includes a general purpose computing device in the form of acomputer 110. Components of computer 110 may include, but are notlimited to, a processing unit 120, a system memory 130, and a system bus121 that couples various system components including the system memoryto the processing unit 120. The system bus 121 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus.

Computer 110 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 110 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media includes both volatileand nonvolatile, removable and non-removable media implemented in anymethod or technology for storage of information such as computerreadable instructions, data structures, program modules or other data.Computer storage media includes, but is not limited to, RAM, ROM, EPROM,flash memory or other memory technology, CD-ROM, digital versatile disks(DVD) or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canaccessed by computer 110. Communication media typically embodiescomputer readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. Combinations of any of the above should also be includedwithin the scope of computer readable media.

The system memory 130 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 131and random access memory (RAM) 132. A basic input/output system 133(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 110, such as during start-up, istypically stored in ROM 131. RAM 132 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 120. By way of example, and notlimitation, FIG. 1 illustrates operating system 134, applicationprograms 135, other program modules 136, and program data 137.

The computer 110 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 140 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 151that reads from or writes to a removable, nonvolatile magnetic disk 152,and an optical disk drive 155 that reads from or writes to a removable,nonvolatile optical disk 156 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 141 is typically connectedto the system bus 121 through a non-removable memory interface such asinterface 140, and magnetic disk drive 151 and optical disk drive 155are typically connected to the system bus 121 by a removable memoryinterface, such as interface 195.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 1, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 110. In FIG. 1, for example, hard disk drive 141 is illustratedas storing operating system 144, application programs 145, other programmodules 146, and program data 147. Note that these components can eitherbe the same as or different from operating system 134, applicationprograms 135, other program modules 136, and program data 137. Operatingsystem 144, application programs 145, other program modules 146, andprogram data 147 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation into the computer 110 through input devices such as akeyboard 162 and wireless pointing device 161, commonly referred to as amouse, trackball or touch pad. Other input devices (not shown) mayinclude a microphone, joystick, game pad, satellite dish, scanner, orthe like. These and other input devices are often connected to theprocessing unit 120 through a user input interface 160 that is coupledto the system bus, but may be connected by other interface and busstructures, such as a parallel port, game port or a universal serial bus(USB). A monitor 191 or other type of display device is also connectedto the system bus 121 via an interface, such as a video interface 190.In addition to the monitor, computers may also include other peripheraloutput devices such as speakers 197 and printer 196, which may beconnected through an output peripheral interface 190.

The computer 110 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer180. The remote computer 180 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 110, although only a memory storage device 181 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 171 and a wide area network (WAN)173, but may also include other networks. Such networking environmentsare commonplace in offices, enterprise-wide computer networks, intranetsand the Internet.

When used in a LAN networking environment, the computer 110 is connectedto the LAN 171 through a network interface or adapter 170. When used ina WAN networking environment, the computer 110 typically includes amodem 172 or other means for establishing communications over the WAN173, such as the Internet. The modem 172, which may be internal orexternal, may be connected to the system bus 121 via the user inputinterface 160, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 110, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 1 illustrates remoteapplication programs 185 as residing on memory device 181. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused. A peripheral interface 195 may interface to a video input devicesuch as a scanner (not shown) or a digital camera 194, where outputperipheral interface may support a standardized interface, including auniversal serial bus (USB) interface.

The invention is operational with numerous other general purpose orspecial purpose computing system environments or configurations.Examples of well known computing systems, environments, and/orconfigurations that may be suitable for use with the invention include,but are not limited to, personal computers, server computers, hand-heldor laptop devices, multiprocessor systems, microprocessor-based systems,set top boxes, programmable consumer electronics, network PCs,minicomputers, mainframe computers, distributed computing environmentsthat include any of the above systems or devices, and the like.

The invention may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENT

FIG. 3 illustrates a namespace in accordance with an aspect of theinvention. The namespace 300 as shown in FIG. 3 may include folders andfiles that may reside on a computer's disk drives such as disc drive C301. Those skilled in the art will realize that other disc drives may beutilized as the use of disc drive C is exemplary and not intended to belimiting. In addition, those skilled in the art will realize that thenames of the folders utilized in the following description may bemodified and such modification is within the scope of the describedinvention. Moreover, the use of specific folder names illustrated in thefollowing description is exemplary and not intended to be limiting.

A Shell may organize these objects into a hierarchical namespacestructure through the user interface or through an application. TheShell may contain special folders whose location and existence may beknown to the system and access to which is provided from numerous placesin the Shell such as the Start Menu.

In an aspect of the invention, namespace 300 may contain numerous otherfolders such as Program Files 220 and Windows folder 224. A Users folder302 may be created in an embodiment of the invention directly under discdrive C 301. The Users folder 302 may include numerous users' profiles.For example, a user or developer installing an application willintuitively realize that users' profiles may be installed under Usersfolder 302.

Users folder 302 may contain a Public folder 304 and a username folder306. Public folder 306 may include all files and folders a user wishesto share with other users on the local machine or through a network.Public folder 306 may not have a per user registry hive as it is aprofile that is never loaded. In addition, a Shell may aggregate certainPublic folders such as the Start Menu or Desktop with regular userprofiles folders at logon to provide them with one unified view of thesefolders. For example, an icon added to a desktop folder of a Publicprofile may be visible to any user that logs into the computer. Publicfolder 306 may provide users and/or developers with a shared folder thatis by default shared with all authenticated users.

A username folder 306 may be provided to each user having an accountwith a computer system in order to provide each user with an area tostore data and customized user settings. The username folder 306 may beutilized as a default folder location for use by open/save dialog boxesof various applications. The Username folder 306 may each contain asimilar hierarchy for each user such as illustrated by Desktop folder308, Documents Folder 310, Downloads folder 312, Favorites folder 314,Music folder 316, Pictures folder 318, Videos folder 320, ApplicationData (AppData) folder 322, and a hidden file NTUSER.DAT 354. One skilledin the art will realize that numerous additional folders may be createdunder Username folder 306. Storing data and customized user settingusing Username folders in combination with various known foldersprovides useful and logical storage locations.

The Favorites folder 314, Downloads folder 312, Music folder 316,Pictures Folder 318, and Videos folder 320 may represent defaultlocations wherein a user may store their favorite Internet links,downloads, music, pictures/photos, and video data files, respectively.In one aspect of the invention, the Downloads folder 312, Music folder316, Pictures Folder 318, and Videos folder 320 are subfolders ofusername folder 306 and not subfolders of Documents folder 310. A useror developer saving a music file and/or picture, for example, willintuitively realize that a music file may be stored in the Music folder316 and a picture in the Picture folder 318. The user does not have totry and locate these folders as subfolders of the Documents folder 310as neither the music file nor the picture may be logically searched forunder Documents folder 310.

Desktop folder 308 may be used to store desktop items that include filesand shortcuts. Documents folder 310 may provide a default location tostore all documents created by a particular user. Downloads folder 312may provide a default location to save data downloaded from a sourcesuch as the Internet. For example, information such as research articlesdiscovered for use by a student on a particular topic may be downloadedand saved for future use in a Downloads folder 312.

Applications data (AppData) folder 322 may provide a developer with adefault location to store per-user application data and binaries. TheApplications data folder 322 may be a hidden folder that may be utilizedby developers when installing new applications or by the applicationthemselves to retrieve per user data or settings. For instance, a lessadvanced user may not need to access Application data folder 322 andtherefore this folder may be hidden until needed by a user. Applicationdata folder 322 may include subfolders such as a Local folder 324 andRoaming folder 325.

Local folder 324 may contain application data and settings that aremachine dependent or are too large to effectively roam. In contrast,Roaming folder 325 may contain application data and settings that arenot machine dependent such as a user's custom dictionary containinginformation such as medical definitions. Referring to FIG. 3, Localfolder 324 may include a temporary folder 326 and a vendor folder suchas a Microsoft vendor folder 328. The Microsoft vendor folder 328 mayinclude numerous subfolders such as Widows folder 330. Similarly, theWindows folder 330 may contain additional folders such as TemporaryInternet Files folder 332 and History folder 334. Those skilled in theart will realize that a vendor folder may be utilized to store variousapplications programs or setting associated with each vendor ormanufacturer. For example, a subfolder under the Microsoft vendor folder328 may be created for each Microsoft application installed on thecomputing device.

According to an aspect of the invention, a unique identifier for aninstalled application or product may be required to be presented whencreating subfolders in the Application data folder 322. The uniqueidentifier may identify the product being installed and thecorresponding manufacturer of the product. For example, the hierarchymay be “Microsoft\Office” which identifies Microsoft as the vendor andOffice as the product. Additional information may be included in theunique identifier such as version number, service release, SKUinformation, minor product name, state category, feature name, componentname, and/or deployment identifier. Such additional information mayavoid multiple deployment issues of a single product and furtheridentify the applications, and/or features of the product. Exemplaryunique identifiers may include “Microsoft\Windows\7.0 SP1 Home Edition”,“Microsoft\Office\12.0 Enterprise Edition\Word”, and“Microsoft\Windows\7.0 SP1 Home Edition\System\Serviced.”

Roaming folder 325 may also include a vendor folder such as Microsoftfolder 336. Microsoft folder 336 may include numerous subfolders such asWidows folder 338. Similarly, the Windows folder 338 may containadditional folders such as Cookies folder 340, Network Shortcuts folder342, Printer Shortcuts folder 344, Recent folder 346, SendTo folder 348,StartMenu folder 350 and Templates folder 352. Each of these folders mayinclude application specific data and settings that are not machinedependent and may be available to the user when logged onto to adifferent computing device. For example, the Printer Shortcuts folder344 may include shortcut to access various printers on a network. When auser logs into different computing devices, the Printer Shortcuts folder344 may still be available to the user enabling the user to easilyaccess different printers located on a network.

FIG. 4 illustrates additional aspects of a namespace hierarchy 400. InFIG. 4, Public folder 304 may include all files and folders that a useror developer desires others to access through the local machine ornetworked devices. Public folder 304 may include a similar hierarchy asthat discussed above for username folders 306. For instance, Publicfolder 304 may include a Desktop folder 408, Documents Folder 410,Downloads folder 412, Favorites folder 414, Music folder 416, Picturesfolder 418, Videos folder 420, and Application Data (AppData) folder422. Application Data folder 422 may be a hidden folder.

The Favorites folder 414, Downloads folder 412, Music folder 416,Pictures Folder 418, and Videos folder 420 may represent defaultlocations wherein a user may store and share with other users theirfavorite Internet links, downloads, music, pictures/photos, and videodata files, respectively. Desktop folder 408 may be used to storedesktop items that include files and shortcuts. These stored desktopfiles and shortcuts are available to any authenticated user as they areaccessible as subfolders of Public folder 304. Similarly, documentsstored in the Documents folder 410 or information downloaded into theDownloads folder 412 may be accessible to other authenticated users.

In another aspect of the invention, a Public folder 482 may also beincluded in the username folder 306. Public folder 482 may provide auser with the capability of sharing information with other users fromwithin their own profile. Moreover, a user may have the capability todefine and individually control other users rights to data contained insuch a Public folder 482. For example, a developer may grant read onlyaccess to certain users, whereas, other users may have execute access.Public folder 482 may also include subfolders such as Dropbox folder484. Dropbox folder 484 may provide a user with the capability ofreceiving files from other authenticated users specifically for them inDropbox folder 484. In an embodiment of the invention, Dropbox folder484 may be provided with write only access to prevent unauthorizedremote users from viewing files placed in Dropbox folder 484. To furtherenable sharing within the namespace, hidden folders such as a SharedByMefolder 490 and a SharedWithMe folder 492 may be created under usernamefolder 306. The SharedByMe folder 490 may include synchronized copies ofdata shared by the user with other users. The SharedWithMe folder 492may include synchronized copies of data shared with the user to otherusers.

In another aspect of the invention, legacy application compatibility forapplications relying on an older profile namespace hierarchy as shown inFIG. 3 may be provided through the use of a file system filter driver. Afilter driver may intercept all open calls for a path to the file systemand determine if it matches an older legacy path. If it does it mayrepoint the application to the new valid path for that legacy path. Thefilter driver may also include an updatable mapping table providing thefilter driver with a list of remapped legacy paths.

In an alternative aspect of the invention, a directory junction may alsobe utilized to provide legacy application compatibility similar to thefilter driver. Directory junction is different from a hard link in thatthe storage objects it references are separate directories. Directoryjunction may be created at legacy namespace locations to point to newnamespace locations. When an application attempts to access a legacyprofile location, the directory junction redirects the application tothe new valid namespace location.

In another aspect of the invention, the namespace hierarchy may allowfor easier querying of data as queries may be created that partition theset of data used. For example, a query may be comprised of a predicate(“what”—such as “author is John Smith”) and a scope (“where” such asC:\users\jsmith\documents\). The namespace hierarchy allows users tomake queries that partition the set of data used.

In accordance with another aspect of the invention, FIG. 5 illustrates amethod of managing application data and user data stored in a pluralityof folders in a namespace data structure. In FIG. 5, at step 502 eachfolder of a plurality of folders is identified as being a public folderor a per-user folder. A public folder may define a folder that is beingshared with all users of a computing system such as a Desktop folder. Aper-user folder may be a system folder which is located in a user'sprofile and owned by the individual user. For example, a Music foldermay illustrate a per-user folder for storing a particular user's music.

After identifying a folder's accessibility, each per-user folder may beclassified by user identification as shown in step 504. As discussedabove, each authenticated user of a computing system may have their ownuser profile on the system in which to store their own data and/or usersettings. Each user profile may be identified through use of acombination of alphanumeric characters from a user's first and lastname. Those skilled in the art will realize that numerous combinationsof characters may be utilized to identify a user's profile. In step 506,the identified per-user folders are further classified by folder type.Finally, in step 508 the application data and user data are separatedbased on the classifications. The separation of application data fromuser data provides an intuitive profile layout for developers or userswhile supporting legacy applications.

While the invention has been described with respect to specific examplesincluding presently preferred modes of carrying out the invention, thoseskilled in the art will appreciate that there are numerous variationsand permutations of the above described systems and techniques that fallwithin the spirit and scope of the invention as set forth in theappended claims.

1. A computer-readable medium having stored thereon a data structure,the data structure separating application data from user data in anamespace, the data structure comprising: a root folder for storingprofiles; a public folder for storing information to be shared withother users, the public folder being a subfolder of the root folder; andat least one user folder for storing user data, the at least one userfolder being a subfolder of the root folder, the at least one userfolder further comprising: i) a desktop folder, the desktop includingshortcuts; ii) a documents folder for storing documents created by anuser; iii) a downloads folder for storing content downloaded by theuser; iv) a favorites folder for storing website addresses saved by theuser; v) a music folder for storing music files saved by the user; vi) avideo folder for storing video files saved by the user, and vii) apictures folder for storing pictures saved by the user.
 2. Thecomputer-readable medium of claim 1, wherein the documents foldercomprises a default storage location for storing documents created bythe user.
 3. The computer-readable medium of claim 1, wherein the atleast one user folder further comprises: viii) an application datafolder for storing per user application data and binaries, theapplication data folder including a local folder and a roaming folder,the local folder for storing machine dependent application data andsettings, the roaming folder for storing machine independent applicationdata and settings.
 4. The computer-readable medium of claim 3, whereinthe local folder further comprises default folders for storage ofmachine specific data and setting, the default folders comprising atemporary folder, and application specific folders.
 5. Thecomputer-readable medium of claim 3, wherein the roaming folder furthercomprising default folders for storage of machine specific data andsetting, the default folders comprising application specific folders. 6.The computer-readable medium of claim 3, wherein the application datafolder is a hidden folder.
 7. The computer-readable medium of claim 1,wherein the at least one user folder further comprises a SharedByMefolder and a SharedWithMe folder, the SharedByMe folder includingsynchronized copies of data shared by the user with other users, theSharedByMe folder including synchronized copies of data shared with theuser by the other users.
 8. The computer-readable medium of claim 1,wherein the public folder includes subfolders to further separateapplication data from user data in a namespace, the subfolderscomprising: i) a second desktop folder, the second desktop includingshortcuts; ii) a second documents folder, the second documents folderfor storing documents created by the user; iii) a second download folderfor storing content downloaded by the user; iv) a second music folderfor storing music files; v) a second pictures folder for storingpictures; vi) a second video folder for storing videos; vii) a secondfavorites folder for storing website addresses saved by the user; andviii) a second application data folder for storing shared applicationdata and binaries.
 9. The computer-readable medium of claim 8, wherein auser is granted default access to each of the subfolders, the defaultaccess including read and execute access based on security groups towhich the user belongs.
 10. A method of separating application data anduser data stored in a plurality of folders in a namespace datastructure, the method comprising: creating a public folder for storinginformation to be shared with other users; creating per-user folders foreach user, the per-user folders storing data and settings particular toeach user; and creating subfolders for each per-user folder, thesub-folders including: i) a desktop folder, the desktop includingshortcuts; ii) a documents folder for storing documents created by theuser; iii) a downloads folder for storing content downloaded by theuser; iv) a favorites folder for storing website addresses saved by theuser; v) a music folder for storing music files saved by the user; vi) avideo folder for storing video files saved by the user, and vii) apictures folder for storing picurtes saved by the user.
 11. The methodof separating application data and user data of claim 10, wherein thedocuments folder comprises a default storage location for storingdocuments created by the user.
 12. The method of separating applicationdata and user data of claim 10, wherein the subfolders for each per-userfurther: viii) an application data folder for storing per userapplication data and binaries, the application data folder including alocal folder and a roaming folder, the local folder for storing machinedependent application data and settings, the roaming folder for storingmachine independent application data and settings.
 13. The method ofseparating application data and user data of claim 12, wherein the localfolder further comprises default folders for storage of machine specificdata and setting, the default folders comprising a temporary folder, andapplication specific folders.
 14. The method of separating applicationdata and user data of claim 12, wherein the roaming folder furthercomprising default folders for storage of machine specific data andsetting, the default folders comprising application specific folders.15. The method of separating application data and user data of claim 10,wherein the public folder includes subfolders to further separateapplication data from user data in a namespace, the subfolderscomprising: i) a second desktop folder, the second desktop includingshortcuts; ii) a second documents folder, the second documents folderfor storing documents created by the user; iii) a second download folderfor storing content downloaded by the user; iv) a second music folderfor storing music files; v) a second pictures folder for storingpictures; vi) a second video folder for storing videos; vii) a secondfavorites folder for storing website addresses saved by the user; viii)a second application data folder for storing application data andbinaries; and wherein the user controls access to each of thesubfolders.
 16. A method of managing a namespace hierarchy, thenamespace hierarchy including application data and user data stored in aplurality of folders, the method comprising: identifying each folder ofthe plurality of folders stored in the namespace as a public folder orper-user folder; classifying each folder classified as a per-user folderby user identification; further classifying each folder classified as aper-user folder by folder type; and separating the application data fromthe user data based on the classifications.
 17. The method of managing anamespace hierarchy of claim 16, wherein a user may access the publicfolders and a user's specifically identified user folder from a network.18. A method of managing a namespace hierarchy of claim 16, wherein theuser identification includes a user's name.
 19. A method of managing anamespace hierarchy of claim 16, wherein each per-user folder furtherincludes: i) a desktop folder, the desktop including shortcuts; ii) adocuments folder for storing documents created by an user; iii) adownloads folder for storing content downloaded by the user; iv) afavorites folder for storing website addresses saved by the user; v) amusic folder for storing music files saved by the user; vi) a videofolder for storing video files saved by the user, vii) a pictures folderfor storing picurtes saved by the user; and viii) a dropbox folder forreceiving files from other users.
 20. A method of managing a namespacehierarchy of claim 16, further comprising: viv) an application datafolder for storing per user application data and binaries, theapplication data folder including a local folder and a roaming folder,the local folder for storing machine dependent application data andsettings, the roaming folder for storing machine independent applicationdata and settings.